/**
 * 
 */
package model.states;

import utilitaire.Date;
import model.Compte;
import model.exception.ForfaitNonValideException;

/**
 * @author Math�
 *
 */
public class EtatCompteCrediteur extends EtatCompte {

	/* (non-Javadoc)
	 * @see model.states.EtatCompte#approvisioner(model.Compte, float)
	 */
	@Override
	public void approvisioner(Compte c, float montant) {
		if(c.isPerime()){
			c.setEtatCompte(new EtatComptePerime());
			return;
		}
		c.setCredit(c.getCredit()+montant);
	}

	/* (non-Javadoc)
	 * @see model.states.EtatCompte#solder(model.Compte)
	 */
	@Override
	public void solder(Compte c,float prixDeBase) throws ForfaitNonValideException {
		if(c.isPerime()){
			c.setEtatCompte(new EtatComptePerime());
			return;
		}
		
		c.setCredit(c.getCredit()-c.getPrixAnnonce(prixDeBase, Date.today()));
		if(c.getCredit()<=0) c.setEtatCompte(new EtatCompteNonCrediteur());
		
	}

	@Override
	public String getStatus() {
		return "Crediteur";
	}

}
